El problema: Clusterizar diseƱos
ĀæComo hago para clasificar estilos de banners?
El problema: Clusterizar diseƱos
ĀæComo hago para clasificar estilos de banners?
Input data
y : Distancia desde arriba
x : Distancia desde la izquierda
w : Ancho (width)
h : Alto (height)
Estrategia 1:
library(umap) library(dbscan) umap_data<- umap(data) cl <-hdbscan(x = umap_data, minPts = 3)
Se puede ver un grupo diferenciado, pero los demas no estan tan claros.
Al separar en diferentes carpetas los archivos de cada cluster generado, los diseƱadores no estaban conformes, habia diseƱos distintos que habian sido clasificados como similares
”Es necesario transformar los datos!
Opciones:
Estandarizacion (z-score): Representa el numero de desvios estandar arriba o debajo del valor resultante. Ćtil para variables normalmente distribuidas
Normalizacion (min-max scaler): Permite llevar los valores entre 0 y 1. Ćtil para comparar variables de diferentes ordenes de magnitud (Precio de una casa y los m2 que ocupa)
ĀæQue hacer con estas variables?
\[ r = 323y+ 8x + 6w + 39h\]
ĀæComo hacer que las variables esten entre [0,1]?
\[x' = {{max(x)-x} \over max(x)} \] \[y' = {{max(y)-y} \over max(y)} \] \[areaRelativa = {{h*w} \over x*y} \] \[posicion = {{h} \over w} \]
Y en R se enrieda todo en una sola funcion:
normalize_geometric<-function(df){
df['total_area']<-max(df['layer_height'])*max(df['layer_width'])
df['rel_area']<-df['layer_height']*df['layer_width']/df['total_area']
df['orientation']<-df['layer_height']/df['layer_width']
df['layer_top_relative']<-df['layer_top']/max(df['layer_height'])
df['layer_left_relative']<-df['layer_left']/max(df['layer_width'])
df
}